1,660 research outputs found

    Combining petri nets and uml for model-based software engineering

    Get PDF
    UML is by far the most widely used modelling language used nowadays in software engineering, due to its large scope and its wide tool support. This software standard offers many diagrams that cover all typical perspectives for describing and modelling the software systems under consideration. Among those diagrams, UML includes diagrams (activity diagram, state machine diagram, use case diagrams, and the interaction diagrams) for describing the behaviour (or functionality) of a software system. Petri nets constitute a well-proven formal modelling language, suitable for describing the behaviour of systems with characteristics like concurrency, distribution, resource sharing, and synchronisation. Thus, one may question why not combining some UML diagrams with Petri nets for effectively supporting the activities of the software engineer. The usage of Petri nets for/in Software Engineering was addressed by several well-known researchers, like, for example, Reisig [6], Pezzè [1], Machado [5], and Kindler [4]. In this invited paper, we discuss some alternatives to introduce Petri nets into a UML-based software development process. In particular, we describe how Coloured Petri Net (CPN) models can be used to describe the set of scenarios associated with a given use case. We describe three different alternatives that can be adopted to achieve that purpose. The first approach, initially presented in [7], suggests a set of rules that allow software engineers to transform the behaviour described by a UML 2.0 sequence diagram into a CPN model. Sequence diagrams in UML 2.0 are much richer than those in UML 1.x, namely by allowing several traces to be combined in a unique diagram, using high-level operators over interactions. The main purpose of the transformation is to allow the development team to construct animations based on the CPN model that can be shown to the users or the clients in order to reproduce the expected scenarios and thus validate them. Thus, non-technical stakeholders are able to discuss and validate the captured requirements. The usage of animation is an important topic in this context, since it permits the user to discuss the system behaviour using the problem domain language. In the second approach, discussed in [3], we assume that developers specify the functionality of the system under consideration with use cases, each of which is described by a set of UML 2.0 sequence diagrams. For each use case, there should exist at least one sequence diagram that represents and describes its main scenario. Other sequence diagrams for the same use case are considered to be variations of the main scenario. The transformation approach allows the development team to interactively play or reproduce any possible run of the given scenarios. In particular, the natural characteristics of the CPN modelling language facilitate the representation of the hierarchy and concurrency constructs of sequence diagrams. The third alternative, considered in [2], is an improvement with respect to the previous approach and is targeted to reactive systems.We identify and justify two key properties that the CPN model must have, namely: (1) controller-and-environment-partitioned, which means constituting a description of both the controller and the environment, and distinguishing between these two domains and between desired and assumed behaviour; (2) use case-based, which means constructed on the basis of a given use case diagram and reproducing the behaviour described in accompanying scenario descriptions. We have demonstrated how this CPN model is useful for requirements engineering, since it provides a solid basis for addressing behavioural issues early in the development process, for example regarding concurrent execution of use cases and handling of failures

    Essentials of computing systems

    Get PDF
    Computers were invented to “compute“, i.e., to solve all sort of mathematical problems. A computer system contains hardware and systems software that work together to run software applications. The underlying concepts that support the construction of a computer are relatively stable. In fact, (almost) all computer systems have a similar organization, i.e., their hardware and software components are arranged in hierarchical layers (or levels) and perform similar functions. This book is written for programmers and software engineers who want to understand how the components of a computer work and how they affect the correctness and performance of their programs.Publishe

    The Relationships in Marketing: Contribution of a Historical Perspective

    Get PDF
    This paper presents an historical analysis of relationship marketing. We discuss the roots and the directions of relationship marketing that are considered relevant: their origins, the Industrial Marketing and Purchasing group (IMP) approach to business relationships, the Nordic approach to services relationships and, the managerial and Customer Relationship Management (CRM) approach of relationship marketing. The paper highlights that the boundaries of relationship marketing as defined in contemporary literature have been permeable and elastic. Relationship marketing consists of a fragmented collection of different approaches, partly independent partly overlapping, inspired by different theories, with a multitude of aggregation levels and several units of analysis. We clarify the scope of this domain and we present a number of critical issues that remain unresolved. Is the concept of relationship marketing ubiquitous and can it be applied to every context? Are relationships alike whatever the market considered? Do they describe the same phenomena or are they different phenomena resulting from different contexts? We present a historical analysis of relationships marketing that could contribute to a better understanding of what relationships are in marketing.relationships, business-to-business relationships, relationship marketing, CRM

    Functional and Object-Oriented Views in Embedded Software Modeling

    Get PDF
    The main aim of this article is to discuss how the functional and the object-oriented views can be inter-played in order to model the various modeling perspectives of an embedded system. We discuss if the object-oriented modeling paradigm, most likely the predominant one to develop nowadays software, in the broader sense of the term, is also adequate for modeling embedded software and how it must be conjugated with the functional paradigm. More specifically, we present how Data Flow Diagrams (DFDs), the main diagram in the traditional structured methods, can be integrated in an object-oriented development strategy based on the Unified Modeling Language (UML).CIMO - HH-02-383; Fundação para a Ciência e Tecnologia; Fundo Europeu de Desenvolvimento Regional - Project METHODES: Methodologies and Tools for Developing Complex Real-Time Embedded Systems (POSI/37334/CHS/2001)

    A model-based approach to the development of distributed control systems

    Get PDF
    Distributed Control Systems (DCS) are a class of application with specific characteristics. This type of system is used in industrial environments to control manufacturing processes. Usually they comprise a controller, a fieldbus network, and a set of Of-The-Shelf (OTS) components, interfacing process signals with real-time QoS requirements. In this paper we present a Model Driven Development (MDD) method that targets this category of systems. This method focuses on the critical stages of DCS development. Namely, the specification of system requirements, the choice of OTS modules and fieldbus system, and the validation of the design using real-time analysis tools. This MDD method uses the Unified modelling Language (UML) as support notation, including the extensions defined in the UML Profile for Schedulability, Performance and Time Specification.Fundação para a Ciência e Tecnologia; FEDER – Project METHODES (POSI/37334/CHS/2001)

    A technique to classify and compare agile methods

    Get PDF
    This manuscript describes a technique to perform comparisons on agile methods, based on a set of relevant features and attributes. This set includes attributes related to four SWEBOK Knowledge Areas (KAs) and to the Agile Manifesto principles. With this set of attributes, by analyzing the practices proposed by each method, we are able to assess (1) the coverage degree for the considered KAs and (2) the agility degree

    Expressing environment assumptions and real-time requirements for a distributed embedded system with shared variables

    Get PDF
    Apresentado na 6th IFIP TC10 Working Conference on Distributed and Parallel Embedded Systems (DIPES 2008), no âmbito do 20th IFIP World Computer Congress, Milão, Itália, set/2008.In a distributed embedded system, it is often necessary to share variables among its computing nodes to allow the distribution of control algorithms. It is therefore necessary to include a component in each node that provides the service of variable sharing. For that type of component, this paper discusses how to create a Colored Petri Nets (CPN) model that formally expresses the following elements in a clearly separated structure: (1) assumptions about the behavior of the environment of the component, (2) real-time requirements for the component, and (3) a possible solution in terms of an algorithm for the component. The CPN model can be used to validate the environment assumptions and the requirements. The validation is performed by execution of the model during which traces of events and states are automatically generated and evaluated against the requirements.(undefined

    Ensino de empreendedorismo no domínio do software: 6 anos de história na UMinho

    Get PDF
    Há atualmente uma aposta no fomento do empreendedorismo no seio das universidades através de paradigmas de ensino eficazes. Estes, por sua vez, necessitam de estar em permanente adaptação e evolução. Neste artigo, apresenta-se e discute-se o ensino do empreendedorismo no domínio do software através de um estudo de caso. No âmbito do Mestrado em Engenharia Informática da Universidade do Minho, é oferecida desde 2009/10 uma unidade curricular (UC) de 15 ECTS, designada de Projeto em Engenharia Informática (PEI). Esta UC procura instigar nos estudantes que a frequentam o reconhecimento da necessidade de conciliarem a visão mais técnica com uma visão mais ligada a aspetos de negócio, comerciais e empresariais, que a maioria nunca abordou em contexto educativo. Uma série de entrevistas semi-estruturadas permitiu obter evidências relevantes sobre o processo de ensino-aprendizagem subjacente a esta UC e sobre a evolução que esta sofreu ao longo de um período de seis anos. Por outro lado, foi consultado material produzido pelos responsáveis da UC com o objetivo de orientar os estudantes na UC. Deste modo, apresenta-se e discute-se evidências sobre o processo de capacitação para o empreendedorismo de estudantes no âmbito específico de projetos de ensino no domínio do software, salientando as suas particularidades e os seus desafios

    Highly-cited papers in software engineering: The top 100

    Get PDF
    Context: According to the search reported in this paper, as of this writing (May 2015), a very large number of papers (more than 70,000) have been published in the area of Software Engineering (SE) since its inception in 1968. Citations are crucial in any research area to position the work and to build on the work of others. Identification and characterization of highly-cited papers are common and are regularly reported in various disciplines. Objective: The objective of this study is to identify the papers in the area of SE that have influenced others the most as measured by citation count. Studying highly-cited SE papers helps researchers to see the type of approaches and research methods presented and applied in such papers, so as to be able to learn from them to write higher quality papers which will likely receive high citations. Method: To achieve the above objective, we conducted a study, comprised of five research questions, to identify and classify the top-100 highly-cited SE papers in terms of two metrics: total number of citations and average annual number of citations. Results: By total number of citations, the top paper is "A metrics suite for object-oriented design", cited 1,817 times and published in 1994. By average annual number of citations, the top paper is "QoS-aware middleware for Web services composition", cited 154.2 times on average annually and published in 2004. Conclusion: It is concluded that it is important to identify the highly-cited SE papers and also to characterize the overall citation landscape in the SE field. We hope that this paper will encourage further discussions in the SE community towards further analysis and formal characterization of the highly-cited SE papers.Vahid Garousi was partially supported by several internal grants provided by the Hacettepe University. The authors would like to thank the anonymous reviewers for their insightful comments
    corecore